package com.molichuxing.services.business.dto.request.create;

import com.molichuxing.framework.dto.RequestRootDto;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 企业订单新增biz dto
 *
 * @Author zoumingyu
 * @Date 2020年06月08日
 */
@Data
public class OrderEnterpriseCreateBizDto extends RequestRootDto {
    private static final long serialVersionUID = 3437981416202739261L;

    /**
     * 企业id（乙方） enterprise_id
     */
    private Integer enterpriseId;

    /**
     * 企业名称（乙方） enterprise_name
     */
    private String enterpriseName;

    /**
     * 签约分子公司id（甲方） subcompany_id
     */
    private Integer subcompanyId;

    /**
     * 签约分子公司名称（甲方） subcompany_name
     */
    private String subcompanyName;

    /**
     * 租期（1：1个月，n：n个月） tenancy
     */
    private Integer tenancy;

    /**
     * 还款周期（1：1个月，n：n个月） repayment_period
     */
    private Integer repaymentPeriod;

    /**
     * 父订单号 prent_order_code
     */
    private Long prentOrderCode;

    /**
     * 父订单保证金 prent_order_deposit
     */
    private BigDecimal prentOrderDeposit;

    /**
     * 备注 remark
     */
    private String remark;

    /**
     * 订单车辆信息
     */
    private List<EnterpriseCarCreateBizDto> cars;

    // 订单车辆新增biz dto内部类
    @Data
    public class EnterpriseCarCreateBizDto extends RequestRootDto {
        private static final long serialVersionUID = 8306828354409140591L;
        /**
         * 车辆id car_id
         */
        private Integer carId;

        /**
         * 车架号 vin
         */
        private String vin;

        /**
         * 车牌号 licence_plate
         */
        private String licencePlate;

        /**
         * 车型id model_id
         */
        private Integer modelId;

        /**
         * 颜色id color_id
         */
        private Integer colorId;

        /**
         * 每月租金 monthly_rental
         */
        private BigDecimal monthlyRental;

        /**
         * 保证金 deposit
         */
        private BigDecimal deposit;

        /**
         * 里程上限（月度） mileage_upper
         */
        private Integer mileageUpper;
    }
}
